<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'

$pageTitle 		= "Eclipse Graphical Editing Framework (GEF) Documentation";
$pageKeywords	= "Eclipse Graphical Editing Framework (GEF) Documentation";
$pageAuthor		= "Anthony Hunter, IBM Rational Software";
	
# Paste your HTML content between the EOHTML markers!	
$html = <<<EOHTML

<div id="midcolumn">

<STYLE type="text/css">
   TT  { font-size : 100%; }
</STYLE>

<h1>Graphical Editing Framework (GEF) Documentation</h1>

<h2>Technical Information for GEF Developers</h2>

<p>This is the one-stop shop for documentation regarding Draw2d and GEF. There are 
several articles as well as other links available here that explain how GEF and 
Draw2d work. Apart from what&#39;s available here, the Javadocs for the Draw2d and GEF 
projects and the <a href="http://help.eclipse.org/ganymede/index.jsp">GEF and Draw2d Plug-in Developer Guide</a> 
in Eclipse are good sources of information. You can also check out the FAQs and 
Gotchas on our <a href="../index.php">main page</a> for more help.</p>

<hr/>

<h2><a name="Articles"></a>Articles</h2>

<p><b><a href="http://www.eclipse.org/articles/Article-GEF-EMF/gef-emf.html">
Using GEF with EMF</a></b> Chris Aniszczyk (IBM) June 8, 2005<br>
The Graphical Editing Framework (GEF) provides a framework for
creating visual editors while being model agnostic. In most cases, people
bring their own model which tend to be based on Plain Old Java Objects
(POJOs). An alternative using POJOs is the Eclipse Modeling Framework
(EMF), which provides many features for manipulating models that aren't
found in POJOs. The purpose of this article is to build upon the shapes
example provided by GEF using the Eclipse Modeling Framework (EMF) and to
provide an introduction using EMF based models in GEF based editors.</p>

<p><b><a href="http://eclipse.org/articles/Article-GEF-diagram-editor/shape.html">
A Shape Diagram Editor</a></b> Bo Majewski (Cisco) December 8, 2004<br>
Graphical Editing Framework (GEF) provides a powerful foundation for creating 
editors for visual editing of arbitrary models. Its effectiveness lies in 
a modular build, fitting use of design patterns, and decoupling of components 
that comprise a full, working editor. To a newcomer, the sheer number and 
variety of concepts and techniques present in GEF may feel intimidating. 
However, once learned and correctly used, they help to develop highly scalable 
and easy to maintain software. This article aims to provide a gentle yet 
comprehensive introduction to GEF. It describes a shape diagram editor - 
a small, fully functional test case of core concepts.</p>

<p><b><a href="http://eclipse.org/articles/Article-GEF-editor/gef-schema-editor.html">
Building a Database Schema Diagram Editor with GEF</a></b> Phil Zoio (Realsolve 
Solutions) September 27, 2004<br>
GEF is a very powerful framework for visually creating and editing models. 
With a small initial investment, even the relative Eclipse novice can be 
quickly up and running, building applications with graphical editing capabilities. 
To illustrate, this article uses a relational database schema diagram editor 
with a deliberately simplified underlying model, but with enough bells and 
whistles to show some of the interesting features of GEF at work.</p>

<p><b><a href="http://eclipse.org/articles/Article-GEF-Draw2d/GEF-Draw2d.html">
Display a UML Diagram using Draw2D</a></b> Daniel Lee (IBM) August 25, 2003<br>
The Graphical Editing Framework (GEF) ships with a painting and layout plug-in 
called Draw2D. Draw2D provides figures and layout managers which form the 
graphical layer of a GEF application. This article focuses only on the use 
of Draw2D to render a simple UML class diagram. While Draw2D can be used 
for standalone purposes, it is not an editing framework. Most applications 
will use the GEF plug-in as the editing layer.</p>

<p><b><a href="http://eclipse.org/articles/Article-GEF-dnd/GEF-dnd.html">Using 
Native Drag and Drop with GEF</a></b> Eric Bordeau (IBM) August 25, 2003<br>
Native drag and drop provides the ability to drag data from one GUI object 
to another GUI object, which could potentially be in another application. 
GEF allows access to the operating system&#39;s underlying drag and drop infrastructure 
through SWT. This article will provide an in-depth look at GEF&#39;s drag and 
drop functionality and show some simple examples of how to take advantage 
of this API.</p>

<p><b><a href="http://www-106.ibm.com/developerworks/opensource/library/os-gef/" target="_top">
Create an Eclipse-based Application using the Graphical Editing Framework</a></b> 
Randy Hudson (IBM) July 29, 2003<br>
This article describes the initial steps involved in creating an Eclipse-based 
application using the Graphical Editing Framework (GEF). GEF has been used 
to build a variety of applications for Eclipse, including state diagrams, 
activity diagrams, class diagrams, GUI builders for AWT, Swing and SWT, 
and process flow editors. Eclipse and GEF are both open source technologies. 
They are also included in IBM&#39;s WebSphere Studio Workbench.</p>

<p><b><a href="digraph1.php">Directed Graph Example</a>
</b>Anthony Hunter (IBM) November 16, 2007<br>
<a href="digraph1.php#Digraph1GraphicalEditor">Digraph1: Basic Graphical Editor</a> 
The main objective of the digraph1 example was to provide a simple graphical editor that demonstrates GEF's Model-View-Controller (MVC) architecture. 
This first directed graph example is as simple as it gets.<br>
<a href="digraph1.php#Digraph1View">Digraph1: Graphical View</a> The same content from the editor in a view.<br>
<a href="digraph1.php#Digraph1Application">Digraph1: Graphical Editor in a RCP Application</a> The graphical editor in a RCP application.<br>
<a href="digraph2.php">Digraph2: Basic Graphical Editor with Connections</a> The objective of the digraph2 example is to add connections to the digraph1 example.
</p>
<hr/>

<h2><a name="Presentations"></a>Presentations</h2>

<p><a href="http://www.eclipsecon.org/2004/index.htm">EclipseCon 2004</a>
<ul>
<li><a href="http://www.eclipsecon.org/2004/EclipseCon_2004_TechnicalTrackPresentations/47_Hudson.pdf">Building Applications with Eclipse's Graphical Editing Framework</a> session<br>
Randy Hudson (IBM)</li>
</ul>
</p>

<p><a href="http://www.eclipsecon.org/2005/">EclipseCon 2005</a>
<ul>
<li><a href="http://www.eclipsecon.org/2005/presentations/EclipseCon2005_23_GEF_Tutorial_Final.ppt">GEF In Depth</a> tutorial<br>
Randy Hudson (IBM), Pratik Shah (IBM)</li>
<li><a href="http://www.eclipsecon.org/2005/presentations/EclipseCon2005_6.1.pdf">The Graphical Editing Framework</a> session<br>
Randy Hudson (IBM), Pratik Shah (IBM)</li>
</ul>
</p>
		
<p><a href="http://www.eclipsecon.org/2006/Home.do">EclipseCon 2006</a>
<ul>
<li><a href="http://www.eclipsecon.org/2006/Sub.do?id=52">Graphical Editing Framework</a> tutorial<br>
Randy Hudson (IBM)</li>
<li><a href="http://www.eclipsecon.org/2006/Sub.do?id=71">A Gentle Introduction to GEF</a> long talk<br>
Koen Aers (JBoss, Inc.)</li>
</ul>
</p>
		
<p><a href="http://www.eclipsecon.org/2007/index.php">EclipseCon 2007</a>
<ul>
<li><a href="http://www.eclipsecon.org/2007/index.php?page=sub/&id=3597">Developing an Editor for Directed Graphs with the Eclipse Graphical Editing Framework</a> tutorial<br>
Koen Aers (JBoss, Inc.)</li>
</ul>
</p>
		
<p><a href="http://www.eclipsecon.org/2008/index.php">EclipseCon 2008</a>
<ul>
<li><a href="http://www.eclipsecon.org/2008/?page=sub/&id=102">Developing an Editor for Directed Graphs with the Eclipse Graphical Editing Framework</a> tutorial<br>
Koen Aers (JBoss, Inc.)</li>
</ul>
</p>
		
<hr/>

<h2><a name="ExternalLinks"></a>External Links</h2>

<p>The following are links to some external sites that provide 
more information about GEF. The GEF team does not verify all of the postings 
on these sites. Nevertheless, they are usually good sources of information. 
To report any other links that can go here, post a note on the GEF newsgroup.</p>

<p><a href="http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg246302.html?OpenDocument">IBM Redbook</a><br>
IBM&#39;s Redbook provides detailed information and walks you through creating a simple GEF-based plug-in.</p>

<p><a href="http://eclipsewiki.editme.com/GEF">Eclipse Wiki</a><br>
Lots of good information here. In particular, the
<a href="http://eclipsewiki.editme.com/GefDescription">GEF description</a>.</p>

<p><a href="http://www.manning.com/scarpino">SWT/JFace In Action</a><br>
A book that can provide more information about Draw2d/GEF.</p>

<p><a href="http://www13.plala.or.jp/observe/index.html#draw2d">Observe Eclipse</a><br>
This site has several Draw2d and GEF tutorials in Japanese.</p>

<p><a href="http://www.eclipseteam.de/wiki/bin/view/Public/EclipseGef">eclipseteam</a><br>
Another site, this time in German.</p>
	
<hr/>

<p><b>By Anthony Hunter, IBM Rational Software</b><br/>
<font size="-1">$Header: /cvsroot/org.eclipse/www/gef/reference/documentation_old.php,v 1.1 2010/12/05 18:46:24 anyssen Exp $</font></p>
<p><em>&nbsp;&nbsp;&nbsp; Please send comments about this document to
the</em> <a href="news://news.eclipse.org/eclipse.tools.gef">eclipse.tools.gef</a> <em>newsgroup.</em></p>
<br/><br/>
</div>

EOHTML;


	# Generate the web page
	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>
